package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.core.utils.DateUtils;
import cn.hutool.core.util.IdUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.utils.SecurityUtils;
import com.ruoyi.system.mapper.SysBmTypeMapper;
import com.ruoyi.system.domain.SysBmType;
import com.ruoyi.system.service.ISysBmTypeService;

/**
 * 编码配置Service业务层处理
 *
 * @author yy
 * @date 2021-11-19
 */
@Service
public class SysBmTypeServiceImpl implements ISysBmTypeService {
    @Autowired
    private SysBmTypeMapper sysBmTypeMapper;

    /**
     * 查询编码配置
     *
     * @param bmId 编码配置ID
     * @return 编码配置
     */
    @Override
    public SysBmType selectSysBmTypeById(Long bmId) {
        return sysBmTypeMapper.selectSysBmTypeById(bmId);
    }

    /**
     * 查询编码配置列表
     *
     * @param sysBmType 编码配置
     * @return 编码配置
     */
    @Override
    public List<SysBmType> selectSysBmTypeList(SysBmType sysBmType) {
        return sysBmTypeMapper.selectSysBmTypeList(sysBmType);
    }

    /**
     * 新增编码配置
     *
     * @param sysBmType 编码配置
     * @return 结果
     */
    @Override
    public int insertSysBmType(SysBmType sysBmType) {
//        sysBmType.setBmId(IdUtil.getSnowflake(0, 0).nextIdStr());
        sysBmType.setCreateTime(DateUtils.getNowDate());
        sysBmType.setCreateBy(SecurityUtils.getUsername());
        return sysBmTypeMapper.insertSysBmType(sysBmType);
    }

    /**
     * 修改编码配置
     *
     * @param sysBmType 编码配置
     * @return 结果
     */
    @Override
    public int updateSysBmType(SysBmType sysBmType) {
        sysBmType.setUpdateTime(DateUtils.getNowDate());
        sysBmType.setUpdateBy(SecurityUtils.getUsername());
        return sysBmTypeMapper.updateSysBmType(sysBmType);
    }

    /**
     * 批量删除编码配置
     *
     * @param bmIds 需要删除的编码配置ID
     * @return 结果
     */
    @Override
    public int deleteSysBmTypeByIds(Long[] bmIds) {
        return sysBmTypeMapper.deleteSysBmTypeByIds(bmIds);
    }

    /**
     * 删除编码配置信息
     *
     * @param bmId 编码配置ID
     * @return 结果
     */
    @Override
    public int deleteSysBmTypeById(Long bmId) {
        return sysBmTypeMapper.deleteSysBmTypeById(bmId);
    }
}
